﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Printing;
using System.Text;
using System.Threading.Tasks;

namespace PPP.Model.FormatWrapper {
    /// <summary>
    /// Model to handel the page orientation propertie.
    /// 
    /// <list type="bullet">
    /// <item>
    /// <term>Author</term>
    /// <description>Sebastian Will</description>
    /// </item>
    /// </list>
    /// 
    /// </summary> 
    public class PageOrientationFormatWrapper {

        #region Fields

        /// <summary>
        /// The page orientation.
        /// </summary>
        PageOrientation _pageOrientation;

        /// <summary>
        /// The name page orientation.
        /// </summary>
        string _name = string.Empty;

        /// <summary>
        /// The uri of the icon.
        /// </summary>
        Uri _icon = null;

        #endregion

        #region Properties

        /// <summary>
        /// The page orientation.
        /// </summary>
        public PageOrientation PageOrientation {
            get {
                return _pageOrientation;
            }
        }

        /// <summary>
        /// The name of the page orientation.
        /// </summary>
        public string Name {
            get {
                return Properties.ResourcesConstantsPageOrientation.ResourceManager.GetString(_name);
            }
        }

        /// <summary>
        /// The uri of the icon.
        /// </summary>
        public Uri Icon {
            get {
                return _icon;
            }
        }

        #endregion

        #region Constructors

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="imageFormat">image format string</param>
        public PageOrientationFormatWrapper(PageOrientation pageOrientation)
        {
            _pageOrientation = pageOrientation;
            _name = pageOrientation.ToString();

            switch (pageOrientation) {
                case PageOrientation.Landscape:
                    _icon = new Uri("pack://application:,,/icons/gui/pageOrientationLandscape.png");
                    break;
                case PageOrientation.Portrait:
                    _icon = new Uri("pack://application:,,/icons/gui/pageOrientationPortrait.png");
                    break;
                case PageOrientation.ReverseLandscape:
                    break;
                case PageOrientation.ReversePortrait:
                    break;
                case PageOrientation.Unknown:
                    break;
                default:
                    break;
            }


            
            
        }

        #endregion

        #region Methods
        #endregion
    }
}
